package com.zmn.oms.model.bo.conf.distribute.reason;

import com.alibaba.fastjson.annotation.JSONField;
import com.zmn.oms.model.entity.conf.distributereason.ConfRedistributeStep;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.dozer.Mapping;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 类描述: 改派缘由 业务类
 *
 * @author: liudi
 * @since: 2022/05/30 11:13
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConfOrderDistributeReasonBO implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键id
	 */
	private Integer id;

	/**
	 * 平台，多个逗号分隔
	 */
	private String plat;

	/**
	 * 缘由
	 */
	private String reason;

	/**
	 * 订单类型（多个用逗号分隔）：1. 新单 2. 返修单
	 */
	private String orderType;

	/**
	 * 发起人类型（多个用逗号分隔）：1. 运营后台 2. 工程师 3. 系统
	 */
	private String applyType;

	/**
	 * 责任归属：1：原工程师 2：当前工程师
	 */
	private Integer liableType;

	/**
	 * 工程师改派流程
	 */
	@Mapping("this")
	private ConfRedistributeStep engineerRedistributeStep;

	/**
	 * 系统改派流程
	 */
	@Mapping("this")
	private ConfRedistributeStep systemRedistributeStep;

	/**
	 * 是否计入轮次：1. 不计入 2. 计入
	 */
	private Integer countEnable;

	/**
	 * 排序
	 */
	private Integer sort;

	/**
	 * 状态：1停用，2启用
	 */
	private Integer status;


	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	private String creater;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date updateTime;

	private String updater;
}
